The present invention relates to signal communication, and in particular to a half duplex device and signal processing method thereof.
Currently, since the distance between a speaker and a microphone of a handfree mobile device is very short, vocal signals from a remote user broadcast by the speaker may be received by the microphone, and returned to the remote user, resulting in an echo. One solution to this problem employs a full duplex controller with an echo canceller. This method requires learning echo impulse response produced by the environment. Noise from different surroundings may result in a long echo duration, resulting in the echo canceller being unable to accurately and rapidly eliminate the echo impulse response.
Another method employs a half duplex controller. FIG. 1 is a schematic diagram of the architecture of a half duplex device, comprising a line detector 110, a line suppressor 120, a half duplex controller 200, an audio detector 310,and an audio suppressor 320. A signal process for a half duplex device is described in the following.
Line detector 110 detects whether vocal signals from a remote user 100 are present, and sends a signal value to half duplex controller 200 according to the detection result, a signal process for line detector 110 is described in FIG. 2.
FIG. 2 is a flowchart of the signal process of the  line detector shown in FIG. 1. First, no vocal signal from remote user 100 is present (Line.Active=0) (step S11). Next, line detector 110 determines whether a short-term power value produced by vocal signals is greater than a short-term power threshold value (Line.Short.Term.Power>Line.Short.Term.Power.Thershold?) (step S12). If so, the process proceeds to step S131, and, if not, proceeds to step S132.
If the short-term power value is greater than the short-term power threshold value, indicating vocal signals from remote user 100 are present, line detector 110 outputs Line.Active=1 to half duplex controller 200 (step S131). The short-term power value is less than the short-term power threshold value, indicating no vocal signal from remote user 100 is present, such that line detector 110 outputs Line.Active=0 to half duplex controller 200 (step S132), and the process continues to step S12.
Further, in step S12, vocal signal determination is also implemented by determining whether a line power deviation is greater than a line deviation threshold. The line power deviation is the modulus of the difference between a long-term power and a short-term power. At the beginning of a conversation with remote user 100, vocal signals with low sound produce small rise to the short-term power. Although the short-term power value produced by the vocal signals does not exceed the short-term power threshold value thereof, the line power deviation may be great. Because the long-term power remains, it is acknowledged that vocal signals presenting when the line power deviation is greater than the line deviation threshold, compensation for low volume sections at the beginning and the end of the conversation is required.
In addition, a signal process for audio detector 310 is identical with that for line detector 110, described in FIG. 2.
Line detector 110 and audio detector 310 detect whether vocal signals from remote user 100 and receiver 300 are present respectively, and half duplex controller 200 then determines whether to allow vocal signals from remote user 100 or receiver 300 to present first as shown in FIG. 3.
First, line suppressor 120 and audio suppressor 320 are inactivated (Line.Suppress.Active=0 and Audio.Suppress.Active=0) (step S21). Next, half duplex controller 200 determines whether vocal signals from remote user 100 are present and line suppressor 120 is inactivated (Line.Active=1 and Line.Suppress.Active=0) (step S22). If so, the process continuous to step S231, and, if not, to step S232.
Audio suppressor 320 is activated when vocal signals from remote user 100 are present (Audio.Suppress.Active=1) (step S231), preventing vocal signals from receiver 300 from entering, and the process continuous to step S22. Audio suppressor 320 remains in an inactive state when no vocal signal from remote user 100 is present (Audio.Suppress.Active=0) (step S232).
Next, half duplex controller 200 determines whether vocal signals from receiver 300 are present and audio suppressor 320 is inactive (Audio.Active=1 and Audio.Suppress.Active=0) (step S24). If so, the process continuous to step S251, and, if not, to step S252. Line suppressor 120 is activated when vocal signals from receiver 300 are present (Line.Suppress.Active=1) (step S251), preventing vocal signals from remote user 100 from presenting, and the process continuous to step S22. Line suppressor 120 remains in an inactive state when no vocal signal from receiver 300 is present (Line.Suppress.Active=0) (step S252).
Half duplex controller 200 suppresses vocal signals from receiver 300 when vocal signals from remote user 100 are present. A short-term power threshold, however, and line deviation threshold of half duplex controller 200 are predetermined. When remote user 100 is in a noisy environment, such as a subway station, the background noise exceeds the short-term power threshold, causing line detector 110 to receive successive vocal signals from remote user 100. Audio suppressor 320 thus remains in an inactive state, such that vocal signals from receiver 300 cannot present.
Thus, an effective and useful half duplex control is desirable.